home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / COMMADIO / PYROMNT.LZH / PRESERVE.LZH / PRESERVE.BAT < prev    next >
DOS Batch File  |  1989-07-16  |  3KB  |  114 lines

  1. @ECHO OFF
  2. IF X%1X == XX GOTO SHOWHELP
  3. GOTO CKFNC
  4. :SHOWHELP
  5. ECHO ·
  6. ECHO Format for this command:  PRESERVE archive-file-name [file-spec]
  7. ECHO ·
  8. ECHO Examples:  PRESERVE INVOICES            Archives all files to A:
  9. ECHO            PRESERVE DATABASE *.DAT      Archives DAT files to A:
  10. ECHO ·
  11. ECHO You must be in the directory which you want to back up to diskette.
  12. ECHO The archive must not exceed the capacity of one floppy.
  13. ECHO ·
  14. GOTO DONE
  15. REM ---------- Check for filename collision ----------
  16. :CKFNC
  17. IF EXIST %1.ZIP GOTO ALREADY
  18. GOTO NOZIP
  19. :ALREADY
  20. CLS
  21. ECHO %1.ZIP already exists in this directory -- choose a different name.
  22. GOTO DONE
  23. REM ---------- Review command ----------
  24. :NOZIP
  25. ECHO ·
  26. ECHO ╔══════════╗
  27. ECHO ║ PRESERVE ║
  28. ECHO ╚══════════╝
  29. IF X%2X == XX GOTO ALLOFIT
  30. ECHO ·
  31. ECHO Preserving  %2  on  %1  archive on drive A:
  32. GOTO PUTDISK
  33. REM ---------- Review directory ----------
  34. :ALLOFIT
  35. DIR /W
  36. QUERY Do you want to preserve this directory on diskette?  (Y/N)  @ YN
  37. IF ERRORLEVEL 3 GOTO DONE
  38. REM ---------- Format diskette if needed ----------
  39. :PUTDISK
  40. CLS
  41. ECHO Insert the diskette in the A: drive.
  42. QUERY Should the diskette be formatted?  (Y/N)  @YN
  43. IF ERRORLEVEL 2 GOTO SHOWA
  44. FORMAT A:
  45. REM Modify the following line to feed the answers into FORMAT
  46. REM FORMAT A: <C:\MISCUTIL\FMT.INP
  47. GOTO TESTCU
  48. REM ---------- Show A: ----------
  49. :SHOWA
  50. CLS
  51. ECHO Directory of the A: drive ...
  52. DIR A:
  53. QUERY Continue?  (Y/N)  @ YN
  54. IF ERRORLEVEL 3 GOTO DONE
  55. REM ---------- Test need for clean-up ----------
  56. :TESTCU
  57. IF X%2X == XX GOTO DELNE
  58. GOTO MAKEZIP
  59. REM ---------- Delete non-essential files ----------
  60. :DELNE
  61. QUERY Delete BAK, BK! and TPU files?  @ YN
  62. IF ERRORLEVEL 3 GOTO DELZIP
  63. @ECHO ON
  64. DEL *.BAK
  65. DEL *.BK!
  66. DEL *.TPU
  67. @ECHO OFF
  68. REM ---------- Delete archives ----------
  69. :DELZIP
  70. IF EXIST *.ZIP GOTO DODELZIP
  71. GOTO MAKEZIP
  72. :DODELZIP
  73. DIR *.ZIP /W
  74. QUERY Delete archive(s)?  @YN
  75. IF ERRORLEVEL 2 GOTO MAKEZIP
  76. QUERY Are you SURE you want to delete ZIP and PAK files?  @YN
  77. IF ERRORLEVEL 2 GOTO MAKEZIP
  78. @ECHO ON
  79. DEL *.ZIP
  80. DEL *.PAK
  81. @ECHO OFF
  82. REM ---------- Create archive ----------
  83. :MAKEZIP
  84. IF X%2X == XX GOTO NOSPEC
  85. PKZIP -aex %1 %2
  86. IF ERRORLEVEL 0 GOTO DOCOPY
  87. GOTO ZIPFAIL
  88. :NOSPEC
  89. PKZIP -aex %1 *.*
  90. IF ERRORLEVEL 0 GOTO DOCOPY
  91. :ZIPFAIL
  92. REM Many archiving programs don't set ErrorLevel
  93. ECHO ═══ ARCHIVE FAILED! ═══
  94. ECHO Nothing  was  preserved
  95. ECHO ═══════════════════════
  96. DEL %1.ZIP
  97. GOTO DONE
  98. REM ---------- Copy archive to diskette ----------
  99. :DOCOPY
  100. ECHO ·
  101. COPY %1.ZIP A:
  102. IF ERRORLEVEL 0 GOTO CLEANUP
  103. ECHO ═══ COPY FAILED! ═══
  104. ECHO ZIP file not deleted
  105. ECHO ════════════════════
  106. GOTO DONE
  107. REM ---------- Clean up ----------
  108. :CLEANUP
  109. DEL %1.ZIP
  110. ECHO ·
  111. ECHO PRESERVE successful
  112. DIR A:
  113. :DONE
  114.